-- *****************************************************************
-- REDSTONE-RXSYS-MIB
--
-- Redstone Communications Inc. Enterprise MIB
-- RX1400/RX700 System MIB
--
-- Copyright 1998-1999 Redstone Communications, Incorporated.
-- Copyright 2000 Unisphere Solutions, Inc.
-- All Rights Reserved.
-- *****************************************************************

REDSTONE-RXSYS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    Integer32,
    Unsigned32,
    TimeTicks
        FROM SNMPv2-SMI

    TEXTUAL-CONVENTION,
    DisplayString,
    TruthValue,
    DateAndTime
        FROM SNMPv2-TC

    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
        FROM SNMPv2-CONF

    InterfaceIndexOrZero
        FROM IF-MIB

    rsMgmt
        FROM REDSTONE-SMI

    RsEnable
        FROM REDSTONE-TC;

rsRXSysMIB  MODULE-IDENTITY
    LAST-UPDATED "200004251844Z" -- 2000-Apr-25 2:44pm EDT
    ORGANIZATION "Redstone Communications, Inc."
    CONTACT-INFO
            "Redstone Communications, Inc.

            5 Carlisle Road
            Westford MA 01886
            USA

            +1-978-692-1999

            mib@redstonecom.com"
    DESCRIPTION
        "Added oc3oc12Pos/oc3oc12Atm card types."
    REVISION      "200005090000Z"
    DESCRIPTION
        "MIB objects for managing RX1400/RX700 systems."
    REVISION      "200004251844Z" -- 2000-Apr-25 2:44pm EDT
    DESCRIPTION
        "Added board serial number, assembly number and assembly revision."
    REVISION      "200001200000Z"
    DESCRIPTION
        "Added OC-12 card and Dual FE card support."
    REVISION      "200001180000Z"
    DESCRIPTION
        "Added redundancy/reversion and boot record configuration support."
    REVISION      "9912100000Z"
    DESCRIPTION
        "Added 'ct1' enumeration to RsSysCardType and rsRxSysPortType."
    REVISION      "9907020000Z"
    DESCRIPTION
        "Added 'ce1' enumeration to RsSysCardType and rsRxSysPortType."
    REVISION      "9904220000Z"
    DESCRIPTION
        "Added new enumerations to RsSysCardType and rsRxSysPortType."
    REVISION      "9801010000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { rsMgmt 17 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Textual conventions
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- MIB Structure
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRXSysTrap          OBJECT IDENTIFIER ::= { rsRXSysMIB 0 }
rsRXSysObjects       OBJECT IDENTIFIER ::= { rsRXSysMIB 1 }
rsRXSysConformance   OBJECT IDENTIFIER ::= { rsRXSysMIB 2 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed objects
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--
-- Object Groups
--
rsRXSysGeneral       OBJECT IDENTIFIER ::= { rsRXSysObjects 1 }
rsRXSysFabric        OBJECT IDENTIFIER ::= { rsRXSysObjects 2 }
rsRXSysNvs           OBJECT IDENTIFIER ::= { rsRXSysObjects 3 }
rsRXSysSlot          OBJECT IDENTIFIER ::= { rsRXSysObjects 4 }
rsRXSysPort          OBJECT IDENTIFIER ::= { rsRXSysObjects 5 }
rsRXSysPower         OBJECT IDENTIFIER ::= { rsRXSysObjects 6 }
rsRXSysTemperature   OBJECT IDENTIFIER ::= { rsRXSysObjects 7 }
rsRXSysSubsystem     OBJECT IDENTIFIER ::= { rsRXSysObjects 8 }


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Textual conventions
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

RsSysCardType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The type of card in a system slot:

        unknown     Unknown type.
        srp         Switch/Route Processor.
        ct3         Channelized T3.
        oc3         OC-3 (SONET/SDH).
        ut3Atm      Unchannelized T3 (ATM service).
        ut3Frame    Unchannelized T3 (Frame service).
        ue3Atm      Unchannelized E3 (ATM service).
        ue3Frame    Uncahnnelized E3 (Frame service).
        ce1         Channelized   E1.
        ct1         Channelized   T1.
        dpfe        Dual Port Fast Ethernet.
        oc12Pos     OC-12 (POS/SDH).
        oc12Atm     OC-12 (ATM service).
        oc3Pos      Quad OC-3 (POS/SDH).
        oc3Atm      Quad OC-3 (ATM service).
        ge          Gigabit Ethernet.
        fe8         Fast Ethernet 8-port.
        oc3oc12Pos  Generic OC3/OC12 POS (multi-personality).
        oc3oc12Atm  Generic OC3/OC12 ATM (multi-personality).
        coc3oc12    Channelized generic OC3/OC12 (multi-personality)
        coc3        Channelized OC3
        coc12       Channelized OC12."
    SYNTAX      INTEGER {
                    unknown(0),
                    srp(1),
                    ct3(2),
                    oc3(3),
                    ut3Atm(4),
                    ut3Frame(5),
                    ue3Atm(6),
                    ue3Frame(7),
                    ce1(8),
                    ct1(9),
                    dpfe(10),
                    oc12Pos(11),
                    oc12Atm(12),
                    oc3Pos(13),
                    oc3Atm(14),
                    ge(15),
                    fe8(16),
                    oc3oc12Pos(17),
                    oc3oc12Atm(18),
                    coc3oc12(19),
                    coc3(20),
                    coc12(21)
                }
    

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- 
-- Chassis objects
-- 
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRXSysChassisRev OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Chassis revision number. If unknown, the value 255 is reported."
    ::= { rsRXSysGeneral 1 }

rsRXSysSwVersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Currently executing operational software version."
    ::= { rsRXSysGeneral 2 }

rsRXSysSwBuildDate OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Build date of currently executing operational software version."
    ::= { rsRXSysGeneral 3 }

rsRXSysRevertControl OBJECT-TYPE
    SYNTAX      INTEGER {
                    off(0),
                    immediate(1),
                    timeOfDay(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Global revert control:

            off             Disable global revert.

            immediate       All slots are to revert immediately (asap).

            timeOfDay       All slots are to revert at time specified by
                            rsRxSysRevertTimeOfDay.  This object/value must
                            be set concurrently with rsRXSysRevertTimeOfDay."
    ::= { rsRXSysGeneral 4 }

rsRXSysRevertTimeOfDay OBJECT-TYPE
    SYNTAX      Integer32 (0..86399)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of seconds past midnight on any given day at which time
         reverts are allowed to occur.  This object must be set concurrently
         with rsRXSysRevertControl."
    ::= { rsRXSysGeneral 5 }

rsRXSysBootConfigControl OBJECT-TYPE
    SYNTAX      INTEGER {
                    file(0),
                    fileOnce(1),
                    factoryDefaults(2),
                    runningConfiguration(3)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "System boot configuration control:

            file                  Revert to configuration settings specified by
                                  rsRXSysBootConfigFile.  The
                                  rsRXSysBootConfigControl and
                                  rsRXSysBootConfigFile must be specified
                                  together in the same set request pdu.

            fileOnce              Revert to configuration settings specified by
                                  rsRXSysBootConfigFile.  Do not continue to
                                  use file after using it once.  The
                                  rsRXSysBootConfigControl and
                                  rsRXSysBootConfigFile must be specified
                                  together in the same set request pdu.

            factoryDefaults       Revert to factory default settings.

            runningConfiguration  Revert to current settings."

    ::= { rsRXSysGeneral 6 }

rsRXSysBootBackupConfigControl OBJECT-TYPE
    SYNTAX      INTEGER {
                    file(0),
                    factoryDefaults(1),
                    none(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "System boot backup configuration control:

            file                  Revert to backup configuration settings
                                  specified by rsRXSysBootBackupConfigFile.
                                  The rsRXSysBootBackupConfigControl and
                                  rsRXSysBootBackupConfigFile must be specified
                                  together in the same set request pdu.

            factoryDefaults       Revert to factory default settings.

            none                  Specify no backup."

    ::= { rsRXSysGeneral 7 }

rsRXSysBootForceBackupControl OBJECT-TYPE
    SYNTAX      INTEGER {
                    off(0),
                    on(1)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "System boot force backup control:

            off      Do not force revert to backup settings.

            on       Do force revert to backup settings."

    ::= { rsRXSysGeneral 8 }

rsRXSysBootAutoRevertControl OBJECT-TYPE
    SYNTAX      INTEGER {
                    default(0),
                    never(1),
                    set(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "System boot auto revert control:

            default  Use default auto-revert tolerances.

            never    Never auto-revert to backup.

            set      Set auto-revert settings at specified tolerances."

    ::= { rsRXSysGeneral 9 }

rsRXSysBootAutoRevertCountTolerance OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The auto-revert reboot count tolerance."
    ::= { rsRXSysGeneral 10 }

rsRXSysBootAutoRevertTimeTolerance OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The auto-revert reboot time tolerance."
    ::= { rsRXSysGeneral 11 }

rsRXSysBootReleaseFile OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..128))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The local boot release file name, with extension .rel."
    DEFVAL {""}
    ::= { rsRXSysGeneral 12 }

rsRXSysBootConfigFile OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..128))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The local boot configuration file name, with extension .cnf.
         The rsRXSysBootConfigControl and rsRXSysBootConfigFile must
         be specified together in the same set request pdu."
    DEFVAL {""}
    ::= { rsRXSysGeneral 13 }

rsRXSysBootBackupReleaseFile OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..128))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The local backup boot release file name, with extension .rel."
    DEFVAL {""}
    ::= { rsRXSysGeneral 14 }

rsRXSysBootBackupConfigFile OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..128))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The local backup boot configuration file name, with extension .cnf.
         The rsRXSysBootBackupConfigControl and rsRXSysBootBackupConfigFile
         must be specified together in the same set request pdu."
    DEFVAL {""}
    ::= { rsRXSysGeneral 15 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- 
-- Fabric objects
-- 
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRXSysFabricSpeed OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "gigabits per second"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Speed of switching fabric, in gigabits per second."
    ::= { rsRXSysFabric 1 }

rsRXSysFabricRev OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Fabric revision number. If unknown, the value 255 is reported."
    ::= { rsRXSysFabric 2 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- 
-- Nvs objects
-- 
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRXSysNvsStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    notPresent(0),
                    writeProtected(1),
                    volumeError(2),
                    nearCapacity(3),
                    ok(4)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Status of non-volatile storage (NVS):

        notPresent          NVS is not installed.
        writeProtected      NVS is write-protected.
        volumeError         Status poll of NVS failed.
        nearCapacity        Utilization exceeds 85% of NVS capacity.
        ok                  NVS is operational, none of the preceding
                            conditions apply."
    ::= { rsRXSysNvs 1 }

rsRXSysNvsCapacity OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "megabytes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Capacity of NVS storage in megabytes."
    ::= { rsRXSysNvs 2 }

rsRXSysNvsUtilPct OBJECT-TYPE
    SYNTAX      Integer32 (-1..100)
    UNITS       "percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Percentage of NVS storage used.

        A value of -1 indicates NVS utilization is unknown."
    ::= { rsRXSysNvs 3 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--
-- Slot objects
--
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRXSysSlotCount OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of slots in the system."
    ::= { rsRXSysSlot 1 }

rsRXSysSlotTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsRXSysSlotEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of system slots."
    ::= { rsRXSysSlot 2 }

rsRXSysSlotEntry OBJECT-TYPE
    SYNTAX      RsRXSysSlotEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table entry describing contents of a system slot."
    INDEX   { rsRXSysSlotIndex }
    ::= {rsRXSysSlotTable 1 }

RsRXSysSlotEntry ::= SEQUENCE {
    rsRXSysSlotIndex                  Integer32,
    rsRXSysSlotDescr                  DisplayString,
    rsRXSysSlotCurrentCardType        RsSysCardType,
    rsRXSysSlotRev                    Integer32,
    rsRXSysSlotAdminStatus            RsEnable,
    rsRXSysSlotOperStatus             INTEGER,
    rsRXSysSlotDisableReason          INTEGER,
    rsRXSysSlotExpectedCardType       RsSysCardType,
    rsRXSysSlotControl                INTEGER,
    rsRXSysSlotCpuUtilPct             Integer32,
    rsRXSysSlotMemUtilPct             Integer32,
    rsRXSysSlotIoaPresent             TruthValue,
    rsRXSysSlotPortCount              Integer32,
    rsRXSysSlotLastChange             TimeTicks,
    rsRXSysSlotRedundancyLockout      RsEnable,
    rsRXSysSlotRedundancyGroupId      Unsigned32,
    rsRXSysSlotSpareServer            TruthValue,
    rsRXSysSlotAssociatedSlot         Integer32,
    rsRXSysSlotRevertControl          INTEGER,
    rsRXSysSlotRedundancyRevertTime   DateAndTime,
    rsRXSysSlotBootReleaseFile        DisplayString,
    rsRXSysSlotBootBackupReleaseFile  DisplayString,
    rsRXSysSlotSerialNumber           DisplayString,
    rsRXSysSlotAssemblyPartNumber     DisplayString,
    rsRXSysSlotAssemblyRev            DisplayString,
    rsRXSysSlotIoaSerialNumber        DisplayString,
    rsRXSysSlotIoaAssemblyPartNumber  DisplayString,
    rsRXSysSlotIoaAssemblyRev         DisplayString

}

rsRXSysSlotIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Slot number.

        NOTE: Port numbers are zero-based."
    ::= { rsRXSysSlotEntry 1 }

rsRXSysSlotDescr OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..63))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Textual description of the card."
    ::= { rsRXSysSlotEntry 2 }

rsRXSysSlotCurrentCardType OBJECT-TYPE
    SYNTAX      RsSysCardType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Type of card actually in the slot. This could be different from the 
        type reported in rsRXSysSlotExpectedCardType, in which case it may
        be necessary to set rsRXSysSlotControl to 'flush' before this card
        can be made operational."
    ::= { rsRXSysSlotEntry 3 }

rsRXSysSlotRev OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Revision number of the card. If unknown, the value 255 is reported."
    ::= { rsRXSysSlotEntry 4 }

rsRXSysSlotAdminStatus OBJECT-TYPE
    SYNTAX      RsEnable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Exerts administrative control to enable/disable the slot."
    ::= { rsRXSysSlotEntry 5 }

rsRXSysSlotOperStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    unknown(0),
                    empty(1),
                    disabled(2),
                    failed(3),
                    booting(4),
                    initializing(5),
                    online(6),
                    standby(7),
                    inactive(8)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Status of the card."
    ::= { rsRXSysSlotEntry 6 }

rsRXSysSlotDisableReason OBJECT-TYPE
    SYNTAX      INTEGER {
                    none(0),
                    unknown(1),
                    assessing(2),
                    admin(3),
                    cardMismatch(4),
                    fabricLimit(5),
                    imageError(6)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the condition causing the slot to be disabled:
        
        none            Value when card is not disabled.

        unknown         Unknown reason for disablement.

        assessing       The slot content is being assessed (transient 
                        initialization state).

        admin           The slot is administratively disabled.

        cardMismatch    The current card type conflicts with configuration
                        associated with a different card type that previously
                        occupied the slot.

        fabricLimit     Card resource requirements exceed available fabric
                        capacity.

        imageError      Software image for card is missing or invalid."
    ::= { rsRXSysSlotEntry 7 }

rsRXSysSlotExpectedCardType OBJECT-TYPE
    SYNTAX      RsSysCardType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Type of card associated with this slot through prior presence.
        After the card is removed, this association persists (and inhibits
        operation of a different card type in this slot, if one is inserted)
        until rsRXSysSlotControl is set to 'flush'."
    ::= { rsRXSysSlotEntry 8 }

rsRXSysSlotControl OBJECT-TYPE
    SYNTAX      INTEGER {
                    noOperation(0),
                    flush(1),
                    reset(2),
                    forceFailover(3),
                    noBoot(4),
                    noBootBackup(5)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Administrative control of this slot:

            noOperation     Setting this value has no effect.

            flush           Flushes configuration associated with a
                            card type that previously occupied this slot.
                            Used to explicitly confirm that the slot is
                            now empty, or contains a different card type.
                            Card must be disabled when this value is asserted.
                            See description for rsRXSysSlotDisableReason.

            reset           Resets the slot.

            forceFailover   Forces the slot to failover to backup.

            noBoot          Deconfigure primary release file for the slot.

            noBootBackup    Deconfigure backup release file for the slot."
    ::= { rsRXSysSlotEntry 9 }

rsRXSysSlotCpuUtilPct OBJECT-TYPE
    SYNTAX      Integer32 (-1..100)
    UNITS       "percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Percentage of CPU utilization.

        A value of -1 indicates the utilization is unknown."
    ::= { rsRXSysSlotEntry 10 }

rsRXSysSlotMemUtilPct OBJECT-TYPE
    SYNTAX      Integer32 (-1..100)
    UNITS       "percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Percentage of memory utilization.

        A value of -1 indicates the utilization is unknown."
    ::= { rsRXSysSlotEntry 11 }

rsRXSysSlotIoaPresent OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates whether the card's corresponding I/O adapter
        is present."
    ::= { rsRXSysSlotEntry 12 }

rsRXSysSlotPortCount OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of physical ports for the EXPECTED card type for this slot.

        NOTE: In event of a card mismatch in this slot, the port count for
        the CURRENT card in this slot is not recognized/reported until 
        the configuration for the EXPECTED card is explicitly flushed via
        rsRXSysSlotControl."
    ::= { rsRXSysSlotEntry 13 }

rsRXSysSlotLastChange OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of sysUpTime when the value of rsRXSysSlotOperStatus
        last changed."
    ::= { rsRXSysSlotEntry 14 }

rsRXSysSlotRedundancyLockout OBJECT-TYPE
    SYNTAX      RsEnable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Exerts administrative control to enable/disable Redundancy protection
        for the slot."
    ::= { rsRXSysSlotEntry 15 }

rsRXSysSlotRedundancyGroupId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Identifies the Redundancy group as derived from hardware settings."
    ::= { rsRXSysSlotEntry 16 }

rsRXSysSlotSpareServer OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "True only if the line card in slot is a spare redundant server."
    ::= { rsRXSysSlotEntry 17 }

rsRXSysSlotAssociatedSlot OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "If the line card in slot is a spare redundant server, then the
        associated slot is the slot of the primary server this server spares
        for.

        If the line card in slot is a primary redundant server, then the
        associated slot is the slot of the spare server that serves as this
        slot's backup."
    ::= { rsRXSysSlotEntry 18 }

rsRXSysSlotRevertControl OBJECT-TYPE
    SYNTAX      INTEGER {
                    off(0),
                    immediate(1),
                    timeAndDate(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Per-slot revert control:

            off             Disable slot revert.

            immediate       Slot is to revert immediately (asap).

            timeAndDate     Slot is to revert at time specified by
                            rsRxSysSlotRedundancyRevertTime."
    ::= { rsRXSysSlotEntry 19 }

rsRXSysSlotRedundancyRevertTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The date and time associated with the timeAndDate (delayed) revert
        operation."
    ::= { rsRXSysSlotEntry 20 }

rsRXSysSlotBootReleaseFile OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..128))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The local boot release file name for this slot, with extension .rel."
    DEFVAL {""}
    ::= { rsRXSysSlotEntry 21 }

rsRXSysSlotBootBackupReleaseFile OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..128))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The local backup boot release file name for this slot, with extension
        .rel."
    DEFVAL {""}
    ::= { rsRXSysSlotEntry 22 }

rsRXSysSlotSerialNumber OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..10))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The serial number of the card in this slot."
    DEFVAL {""}
    ::= { rsRXSysSlotEntry 23 }

rsRXSysSlotAssemblyPartNumber OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..10))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The part number of the card in this slot."
    DEFVAL {""}
    ::= { rsRXSysSlotEntry 24 }

rsRXSysSlotAssemblyRev OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..3))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The revision number of the card assembly in this slot."
    DEFVAL {""}
    ::= { rsRXSysSlotEntry 25 }

rsRXSysSlotIoaSerialNumber OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..10))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The serial number of the I/O adaptor on the card in this slot."
    DEFVAL {""}
    ::= { rsRXSysSlotEntry 26 }

rsRXSysSlotIoaAssemblyPartNumber OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..10))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The part number of the I/O adaptor on the card in this slot."
    DEFVAL {""}
    ::= { rsRXSysSlotEntry 27 }

rsRXSysSlotIoaAssemblyRev OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..3))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The revision number of the I/O adaptor assembly on the card in this
        slot."
    DEFVAL {""}
    ::= { rsRXSysSlotEntry 28 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--
-- System Port objects
--
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRXSysPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsRXSysPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of system physical ports.

        The information in this table reflects the ports for the EXPECTED
        card type in each slot; in event of a card mismatch, this table
        permits navigation of the existing configuration of the expected
        card type."
    ::= { rsRXSysPort 1 }

rsRXSysPortEntry OBJECT-TYPE
    SYNTAX      RsRXSysPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table entry describing a physical port of the system."
    INDEX   { rsRXSysSlotIndex, rsRXSysPortIndex }
    ::= {rsRXSysPortTable 1 }

RsRXSysPortEntry ::= SEQUENCE {
    rsRXSysPortIndex              Integer32,
    rsRXSysPortDescr              DisplayString,
    rsRXSysPortType               INTEGER,
    rsRXSysPortIfIndex            InterfaceIndexOrZero
}

rsRXSysPortIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Port number of this physical port, relative to the slot in which it
        resides. Each physical port is uniquely distinguished by its slot/port
        pair.

        NOTE: Port numbers are zero-based."
    ::= { rsRXSysPortEntry 1 }

rsRXSysPortDescr OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..63))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Textual description of this port."
    ::= { rsRXSysPortEntry 2 }

rsRXSysPortType OBJECT-TYPE
    SYNTAX      INTEGER {
                    unknown(0),
                    eth(1),
                    ct3(2),
                    oc3c(3),
                    ut3Atm(4),
                    ut3Frame(5),
                    ue3Atm(6),
                    ue3Frame(7),
                    ce1(8),
                    ct1(9),
                    oc12cPos(10),
                    oc12cAtm(11),
                    oc3cPos(12),
                    oc3cAtm(13),
                    coc3(14),
                    coc12(15)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Type of the physical port:
        
            unknown     Unknown port type.
            eth         Ethernet.
            ct3         Channelized T3.
            oc3c        OC-3c (SONET/SDH).
            ut3Atm      Unchannelized T3 (ATM service).
            ut3Frame    Unchannelized T3 (Frame service).
            ue3Atm      Unchannelized E3 (ATM service).
            ue3Frame    Unchannelized E3 (Frame service).
            ce1         Channelized   E1.
            ct1         Channelized   T1.
            oc12Pos     OC-12 (POS/SDH).
            oc12Atm     OC-12 (ATM service).
            oc3Pos      OC-3 (POS/SDH).
            oc3Atm      OC-3 (ATM service).
            coc3        Channelized OC-3.
            coc12       Channelized OC-12"
    ::= { rsRXSysPortEntry 3 }

rsRXSysPortIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The ifIndex of the Interfaces MIB ifTable entry corresponding to this
        physical port; if zero, the ifIndex is unknown or does not exist."
    ::= { rsRXSysPortEntry 4 }


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--
-- System Power objects
--
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRXSysPowerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsRXSysPowerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of system power elements."
    ::= { rsRXSysPower 1 }

rsRXSysPowerEntry OBJECT-TYPE
    SYNTAX      RsRXSysPowerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table entry describing status of a system power element."
    INDEX   { rsRXSysPowerIndex }
    ::= {rsRXSysPowerTable 1 }

RsRXSysPowerEntry ::= SEQUENCE {
    rsRXSysPowerIndex              Integer32,
    rsRXSysPowerDescr              DisplayString,
    rsRXSysPowerStatus             INTEGER
}

rsRXSysPowerIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Arbitrary integer index to distinguish entries in this table."
    ::= { rsRXSysPowerEntry 1 }

rsRXSysPowerDescr OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..63))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Textual description of this power element."
    ::= { rsRXSysPowerEntry 2 }

rsRXSysPowerStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    inactive(0),
                    active(1)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of the power element:

            inactive    No power available from this element.

            active      Power available from this element."
    ::= { rsRXSysPowerEntry 3 }


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--
-- System Temp objects
--
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRXSysTempFanStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    failed(0),
                    ok(1)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Status of fan tray."
    ::= { rsRXSysTemperature 1 }


rsRXSysTempTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsRXSysTempEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of system temperature sensors.

        Sensors are distributed across the chassis, at least one sensor per
        populated slot."
    ::= { rsRXSysTemperature 2 }

rsRXSysTempEntry OBJECT-TYPE
    SYNTAX      RsRXSysTempEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table entry describing status of a temperature sensor."
    INDEX   { rsRXSysSlotIndex, rsRXSysTempIndex }
    ::= {rsRXSysTempTable 1 }

RsRXSysTempEntry ::= SEQUENCE {
    rsRXSysTempIndex              Integer32,
    rsRXSysTempDescr              DisplayString,
    rsRXSysTempStatus             INTEGER,
    rsRXSysTempValue              Integer32
}

rsRXSysTempIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Arbitrary integer index to distinguish sensors associated with the same
        chassis slot."
    ::= { rsRXSysTempEntry 1 }

rsRXSysTempDescr OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..63))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Textual description of this sensor."
    ::= { rsRXSysTempEntry 2 }

rsRXSysTempStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    unknown(0),
                    failed(1),
                    tooLow(2),
                    nominal(3),
                    tooHigh(4)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of a temperature sensor:

            unknown     Unknown.
            failed      Failed.
            tooLow      Below nominal range.
            nominal     Within nominal range.
            tooHigh     Above nominal range."
    ::= { rsRXSysTempEntry 3 }

rsRXSysTempValue OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "degrees Celsius"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The temperature measured by this sensor in degrees Celsius.
        This measurement is valid only if the value of the corresponding
        rsRXSysTempStatus is nominal."
    ::= { rsRXSysTempEntry 4 }


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--
-- Subsystem objects
--
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRXSysSubsystemTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsRXSysSubsystemEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of subsystems."
    ::= { rsRXSysSubsystem 1 }

rsRXSysSubsystemEntry OBJECT-TYPE
    SYNTAX      RsRXSysSubsystemEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table entry containing information pertaining to a subsystem."
    INDEX   { rsRXSysSubsystemIndex }
    ::= {rsRXSysSubsystemTable 1 }

RsRXSysSubsystemEntry ::= SEQUENCE {
    rsRXSysSubsystemIndex                  Integer32,
    rsRXSysSubsystemName                   DisplayString,
    rsRXSysSubsystemControl                INTEGER,
    rsRXSysSubsystemBootReleaseFile        DisplayString,
    rsRXSysSubsystemBootBackupReleaseFile  DisplayString
}

rsRXSysSubsystemIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Subsystem number."
    ::= { rsRXSysSubsystemEntry 1 }

rsRXSysSubsystemName OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..128))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The name of the subsystem."
    ::= { rsRXSysSubsystemEntry 2 }

rsRXSysSubsystemControl OBJECT-TYPE
    SYNTAX      INTEGER {
                    noOperation(0),
                    noBoot(1),
                    noBootBackup(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Administrative control of this subsystem:

            noOperation     Setting this value has no effect.

            noBoot          Deconfigure primary release file for the subsystem.

            noBootBackup    Deconfigure backup release file for the subsystem."
    ::= { rsRXSysSubsystemEntry 3 }

rsRXSysSubsystemBootReleaseFile OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..128))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The local boot release file name for this subsystem, with extension
        .rel."
    DEFVAL {""}
    ::= { rsRXSysSubsystemEntry 4 }

rsRXSysSubsystemBootBackupReleaseFile OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..128))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The local backup boot release file name for this subsystem, with
        extension .rel."
    DEFVAL {""}
    ::= { rsRXSysSubsystemEntry 5 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Traps & Trap Control
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- The rsRXSysTrap OBJECT IDENTIFIER is used to define SNMPv2 
-- Notifications that are easily translated into SNMPv1 Traps.


rsRXSysSlotOperStatusChange NOTIFICATION-TYPE
    OBJECTS     { rsRXSysSlotCurrentCardType,
                  rsRXSysSlotAdminStatus, 
                  rsRXSysSlotOperStatus,
                  rsRXSysSlotDisableReason,
                  rsRXSysSlotSpareServer,
                  rsRXSysSlotAssociatedSlot }
    STATUS      current
    DESCRIPTION
        "Reports a status change for a slot. 
        
        This trap is generated on a transition into a stable state
        (online or disabled) or on a transition out of online."
    ::= { rsRXSysTrap 1 }

rsRXSysPowerStatusChange NOTIFICATION-TYPE
    OBJECTS     { rsRXSysPowerStatus }
    STATUS      current
    DESCRIPTION
        "Reports a change in the status of a power element."
    ::= { rsRXSysTrap 2 }

rsRXSysTempFanStatusChange NOTIFICATION-TYPE
    OBJECTS     { rsRXSysTempFanStatus }
    STATUS      current
    DESCRIPTION
        "Reports a change in the status of the fan tray."
    ::= { rsRXSysTrap 3 }

rsRXSysTempStatusChange NOTIFICATION-TYPE
    OBJECTS     { rsRXSysTempStatus }
    STATUS      current
    DESCRIPTION
        "Reports a change in the status of a temperature sensor."
    ::= { rsRXSysTrap 4 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Conformance information
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsRXSysCompliances OBJECT IDENTIFIER ::= { rsRXSysConformance 1 }
rsRXSysGroups      OBJECT IDENTIFIER ::= { rsRXSysConformance 2 }

-- compliance statements

rsRXSysCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for entities which implement the Redstone
        System MIB."
    MODULE -- this module
    MANDATORY-GROUPS { rsRXSysGroup, rsRXSysNotifyGroup }
    ::= { rsRXSysCompliances 1 }

-- units of conformance

rsRXSysGroup OBJECT-GROUP
    OBJECTS {

        -- General chassis objects
        rsRXSysChassisRev,
        rsRXSysSwVersion,
        rsRXSysSwBuildDate,
        rsRXSysRevertControl,
        rsRXSysRevertTimeOfDay,
        rsRXSysBootConfigControl,
        rsRXSysBootBackupConfigControl,
        rsRXSysBootForceBackupControl,
        rsRXSysBootAutoRevertControl,
        rsRXSysBootAutoRevertCountTolerance,
        rsRXSysBootAutoRevertTimeTolerance,
        rsRXSysBootReleaseFile,
        rsRXSysBootConfigFile,
        rsRXSysBootBackupReleaseFile,
        rsRXSysBootBackupConfigFile,

        -- Fabric objects
        rsRXSysFabricSpeed,
        rsRXSysFabricRev,

        -- NVS objects
        rsRXSysNvsStatus,
        rsRXSysNvsCapacity,
        rsRXSysNvsUtilPct,

        -- Slot objects
        rsRXSysSlotCount,
        rsRXSysSlotDescr,
        rsRXSysSlotCurrentCardType,
        rsRXSysSlotRev,
        rsRXSysSlotAdminStatus,
        rsRXSysSlotOperStatus,
        rsRXSysSlotDisableReason,
        rsRXSysSlotExpectedCardType,
        rsRXSysSlotControl,
        rsRXSysSlotCpuUtilPct,
        rsRXSysSlotMemUtilPct,
        rsRXSysSlotIoaPresent,
        rsRXSysSlotPortCount,
        rsRXSysSlotLastChange,
        rsRXSysSlotRedundancyLockout,
        rsRXSysSlotRedundancyGroupId,
        rsRXSysSlotSpareServer,
        rsRXSysSlotAssociatedSlot,
        rsRXSysSlotRevertControl,
        rsRXSysSlotRedundancyRevertTime,
        rsRXSysSlotBootReleaseFile,
        rsRXSysSlotBootBackupReleaseFile,
        rsRXSysSlotSerialNumber,
        rsRXSysSlotAssemblyPartNumber,
        rsRXSysSlotAssemblyRev,
        rsRXSysSlotIoaSerialNumber,
        rsRXSysSlotIoaAssemblyPartNumber,
        rsRXSysSlotIoaAssemblyRev,

        -- Port objects
        rsRXSysPortDescr,
        rsRXSysPortType,
        rsRXSysPortIfIndex,

        -- Power objects
        rsRXSysPowerDescr,
        rsRXSysPowerStatus,

        -- Temperature objects
        rsRXSysTempFanStatus,
        rsRXSysTempDescr,
        rsRXSysTempStatus,
        rsRXSysTempValue,

        -- Subsystem objects
        rsRXSysSubsystemName,
        rsRXSysSubsystemControl,
        rsRXSysSubsystemBootReleaseFile,
        rsRXSysSubsystemBootBackupReleaseFile
    }
    STATUS  current
    DESCRIPTION
        "A collection of management objects pertaining to system capabilities in
        a Redstone product."
    ::= { rsRXSysGroups 1 }

rsRXSysNotifyGroup NOTIFICATION-GROUP
        NOTIFICATIONS {
        rsRXSysSlotOperStatusChange,
        rsRXSysPowerStatusChange,
        rsRXSysTempFanStatusChange,
        rsRXSysTempStatusChange
    }
    STATUS  current
    DESCRIPTION
        "A collection of management notifications pertaining to system
        operations in a Redstone product."
    ::= { rsRXSysGroups 2 }

END